/*
* Copyright (c) 206.2，华乘电气科技有限公司
* All rights reserved.
*
* 文件名称：logunit.h
*
* 初始版本：1.0
* 作者：
* 创建日期：2016年2月17日
* 摘要：该文件主要是定义日志单元模块
*
*/
#ifndef LOGUNIT_H
#define LOGUNIT_H
#include <QtCore>

#define LOG_INFO_OUT //log信息输出开关宏
#define MAX_LOG_COUNT_DEFAULT 10240//默认存储最大条目数
class LogUnit
{
public:
    /****************************************/
    //构造函数
    //输入参数:
    //      unitName -- 单元名
    /****************************************/
    LogUnit( const QString& unitName );


    /****************************************/
    //记录信息
    //输入参数:
    //      fmt -- 格式字符串
    //      ap -- 可变参数
    /****************************************/
    void write( const char *fmt, va_list ap );

    /****************************************/
    //记录信息
    //输入参数:
    //      string -- 格式字符串
    /****************************************/
    void write( const QString& string );

    /****************************************/
    //设置路径
    //输入参数:
    //      path -- 路径
    /****************************************/
    static void setPath( const QString& path );

    /****************************************/
    //设置最大条目数
    //输入参数:
    //      uiMaxCount -- 最大条目数
    /****************************************/
    static void setMaxCount( quint32 uiMaxCount );

private:
    QFile m_fileLog;//文件
    quint16 m_usItems;//当前条目数
    QString m_strFileName;//日志文件名
    QString m_strBakFileName;//备份文件名
    static quint32 m_uiMaxCount;//最大条目数
    static QString m_strFilePath;//存储路径
};

#endif // LOGUNIT_H

